#ifndef TERMINALFORM_H
#define TERMINALFORM_H

#include <QWidget>
#include <QProcess>

namespace Ui {
class TerminalForm;
}

class TerminalForm : public QWidget
{
    Q_OBJECT

public:
    explicit TerminalForm(QWidget *parent = 0);
    ~TerminalForm();


public slots:
    void run_cmdstr(QString cmd_str);

private slots:

    /* 启动终端解析器 */
    void start_shell();
    /* 向终端解析器 写入指令 */
    void run_cmd();

    /* 标准输出 */
    void on_readyReadStandardOutput();
    /* 标准错误输出 */
    void on_readyReadStandardError();

    /* QProcess程序启动输出 */
    void on_started();
    /* QPRocess程序写入 */
    void on_byteWritten();
    /* QPRocess程序结束 */
    void on_finished(int exitCode);

private:
    Ui::TerminalForm *ui;
    QProcess *cmd;
};

#endif // TERMINALFORM_H
